<?php

namespace App\Service\Check;

class CheckStreamParam
{
    private array  $sysTypes;
    private int    $startTime;
    private int    $endTime;
    private string $orderId;
    private string $payNo;
    private int    $checkStatus;
    private int    $payChannel;
    private int    $payAction;
    private int    $pageNum;
    private int    $pageSize;
    private int    $export = self::EXPORT_NO;

    const EXPORT_NO      = 0; // 默认不导出
    const EXPORT_WEB     = 1; // web导出
    const EXPORT_COMMAND = 2; // cmd导出

    /**
     * @return int
     */
    public function getPayChannel(): int
    {
        return $this->payChannel;
    }

    /**
     * @param int $payChannel
     */
    public function setPayChannel(int $payChannel): self
    {
        $this->payChannel = $payChannel;
        return $this;
    }

    /**
     * @return int
     */
    public function getPayAction(): int
    {
        return $this->payAction;
    }

    /**
     * @param int $payAction
     */
    public function setPayAction(int $payAction): self
    {
        $this->payAction = $payAction;
        return $this;
    }

    /**
     * @return int
     */
    public function getExport(): int
    {
        return $this->export;
    }

    /**
     * @param int $export
     */
    public function setExport(int $export): self
    {
        $this->export = $export;
        return $this;
    }

    /**
     * @return int
     */
    public function getPageNum(): int
    {
        return $this->pageNum;
    }

    /**
     * @param int $pageNum
     */
    public function setPageNum(int $pageNum): self
    {
        $this->pageNum = $pageNum;
        return $this;
    }

    /**
     * @return int
     */
    public function getPageSize(): int
    {
        return $this->pageSize;
    }

    /**
     * @param int $pageSize
     */
    public function setPageSize(int $pageSize): self
    {
        $this->pageSize = $pageSize;
        return $this;
    }

    /**
     * @return string
     */
    public function getOrderId(): string
    {
        return $this->orderId;
    }

    /**
     * @param string $orderId
     */
    public function setOrderId(string $orderId): self
    {
        $this->orderId = $orderId;
        return $this;
    }

    /**
     * @return string
     */
    public function getPayNo(): string
    {
        return $this->payNo;
    }

    /**
     * @param string $payNo
     */
    public function setPayNo(string $payNo): self
    {
        $this->payNo = $payNo;
        return $this;
    }

    /**
     * @return int
     */
    public function getCheckStatus(): int
    {
        return $this->checkStatus;
    }

    /**
     * @param int $checkStatus
     */
    public function setCheckStatus(int $checkStatus): self
    {
        $this->checkStatus = $checkStatus;
        return $this;
    }

    /**
     * @return array
     */
    public function getSysTypes(): array
    {
        return $this->sysTypes;
    }

    /**
     * @return int
     */
    public function getStartTime(): int
    {
        return $this->startTime;
    }

    /**
     * @return int
     */
    public function getEndTime(): int
    {
        return $this->endTime;
    }

    /**
     * @param array $sysTypes
     */
    public function setSysTypes(array $sysTypes): self
    {
        if ($sysTypes == [0]) {
            $this->sysTypes = [];
            return $this;
        }

        $this->sysTypes = $sysTypes;
        return $this;
    }

    /**
     * @param int $startTime
     */
    public function setStartTime(int $startTime): self
    {
        $this->startTime = $startTime;
        return $this;
    }

    /**
     * @param int $endTime
     */
    public function setEndTime(int $endTime): self
    {
        $this->endTime = $endTime;
        return $this;
    }
}
